// // 上传文件到服务器
// const { exec } = require('child_process');
//
// const sshEnv = process.env.ssh;
// let nodeSsh = null;
// // 服务器信息
// const services = {
// 	test: {
// 		host: '172.16.0.181',
// 		port: 22,
// 		username: 'root',
// 		password: '123',
// 		distPath: './dist',
// 		remotePath: '/data/approot/uploads/lifaweb',
// 	},
// 	pro: {
// 		host: '129.204.241.223',
// 		port: 8541,
// 		username: 'root',
// 		password: 'LiFa~1234',
// 		distPath: './dist',
// 		remotePath: '/data/approot/uploads/lifaweb',
// 	},
// };
// const serviceName = {
// 	test: '测试环境',
// 	pro: '正式环境',
// };
//
// // { 服务器域名, 连接端口号, 用户名, 密码, 本地需要上传的路径, 远程路径 }
// const { host, port, username, password, distPath, remotePath } = services[sshEnv];
//
// function main(SSH) {
// 	console.log('正在连接ssh');
// 	const ssh = new SSH();
// 	ssh.connect({ host, username, password, port })
// 	.then(() => {
// 		console.log(`连接${serviceName[sshEnv]}${host}成功，开始上传`);
// 		const failed = [];
// 		const successful = [];
// 		ssh.putDirectory(distPath, remotePath, {
// 			recursive: true,
// 			concurrency: 5,
// 			validate(itemPath) {
// 				return true;
// 			},
// 			tick(localPath, remote, error) {
// 				if (error) {
// 					failed.push(localPath);
// 					console.log(`上传失败：${localPath}`);
// 				} else {
// 					console.log(`上传成功：${localPath}`);
// 					successful.push(localPath);
// 				}
// 			},
// 		}).then((status) => {
// 			console.log(`目录上传${serviceName[sshEnv]}`, status ? '成功' : '失败');
// 			console.log(`上传失败：${failed.length}`, failed.join(',\n'));
// 			console.log('上传完成时间：', new Date().toLocaleString());
// 			ssh.dispose();
// 		}).catch((err) => {
// 			console.log('上传出错', err);
// 			ssh.dispose();
// 		});
// 	});
// }
//
// try {
// 	nodeSsh = require('node-ssh');
// 	main(nodeSsh);
// } catch (err) {
// 	console.log('没有安装node-ssh，正在自动安装node-ssh');
// 	console.log('npm install node-ssh -D');
// 	exec('npm install node-ssh -D', (error, stdout, stderr) => {
// 		if (error) {
// 			console.error(`安装失败了，可以试一下手动安装: ${error}`);
// 			return;
// 		}
// 		nodeSsh = require('node-ssh');
// 		if (nodeSsh) {
// 			console.log('node-ssh安装成功了');
// 		}
// 		main(nodeSsh);
// 	});
// }
//
